package com.vgemv.jsutilitysdk.Menu.JsMenuView;


import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;

import com.vgemv.jsutilitysdk.Menu.JsMenuView.JsMenuItemView.JsMenuItemView;
import com.vgemv.jsutilitysdk.Menu.JsMenuView.JsMenuItemVm.JsMenuItemVm;

//用来设置
public class JsMenuItemViewHolderDefault extends JsMenuItemViewHolder {



    /*
     * $0 itemView,需要自己定制样式的view;
     *
     * Description:
     * 1,ViewHolder作为ItemView的容器.
     */
    public JsMenuItemViewHolderDefault(@NonNull View itemView) {
        super(itemView);
        //将数据绘制到itemView上. itemView是在Adapter中创建的.
        mItemView = (JsMenuItemView) itemView;
    }


    //在bindView的时候,可以得到vm,此时渲染UI,并可以设置自身的大小
    //调用的时机
    //1 显示一个viewHolder
    //2 点击一个viewHolder
    public void setVm(JsMenuItemVm vm) {
        //如果没有重新
        mItemView.setVm(vm);

        //GaMark,在onBindViewHolder时可以更新重新设置lp,更新高度.
        JsMenuItemStyle style = vm.currentStyle();
        ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(style.mi_width,style.mi_height);
        mItemView.setLayoutParams(lp);
    }
}